/***************************************************************************
 *
 * This document contains confidential and proprietary information 
 * subject to non-disclosure agreements with AsiaInspection. This 
 * information shall not be distributed or copied without written 
 * permission from the AsiaInspection.
 *
 ***************************************************************************/

package io;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.builder.ToStringBuilder;

/***************************************************************************
 * <PRE>
 *  Project Name    : psi-share
 * 
 *  Package Name    : com.ai.inspection.dto
 * 
 *  File Name       : OrderGeneralBean.java
 * 
 *  Creation Date   :
 * 
 *  Author          : Gino Zhao
 *  
 *  Table           : ORDER_GENERAL_INFO
 * 
 *  Purpose         : TODO
 * 
 * 
 *  History         : TODO
 * 
 * </PRE>
 ***************************************************************************/

@JsonIgnoreProperties(ignoreUnknown = true)
public class OrderGeneralInfoBean {

	private static final long serialVersionUID = 2103971788788601499L;

	private String orderId;

	private String status;

	private String orderNumber;
	private String clientRefNb;

	private String orderPlacer;

	private Date bookingDate;
	private Date expectedInspDate;

	private Date actualInspDate;
	private Date expectedShipDate;
	private String SIC;

	private String serviceType;

	private String prodCategoryAI;

	private String prodFamilyAI;
	private String prodCategoryClient;
	private String prodFamilyClient;

	private String tools;

	private String projectLeader;

	private String protoSupervisor;

	private String protoSupervisor2;

	private String reportApprover;
	private String ITLManager;

	private String dedicatedInspector;
	private String bookFromPreOrder;

	private String inspectionRating;

	private String ratingComments;

	private String ICNeeded;
	private String LCNumber;
	private String LCAppName;
	private String LCAppAddress;
	private String LCBeneName;
	private String LCBeneAddress;

	private String copyAllMailTo;

	private String copyReportMailTo;

	private Integer container20;

	private Integer container40;

	private Integer container40HQ;

	private String calledInspector;

	private String insepctorCalledBy;

	private String insepctorCallResult;

	private String insepctorCallComments;

	private String calledFactory;

	private String factoryCalledBy;

	private String factoryCallResult;

	private String factoryCallComments;

	private String companyId;                   // ORDER_GENERAL_INFO.COMPANY_ID         -->  CRM_COMPANY.ID
	
	private String userId;                      // ORDER_GENERAL_INFO.USER_ID            -->  GENERAL_USER.ID
	
	private String parentCompanyId;             // ORDER_GENERAL_INFO.PARENT_COMPANY_ID  -->  CRM_COMPANY.ID

	private String allInspectors;

	private String allowChangeInspectionDate;
	private String supplierValidateCode;
	
	

	
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getOrderNumber() {
		return orderNumber;
	}

	public void setOrderNumber(String orderNumber) {
		this.orderNumber = orderNumber;
	}

	public String getClientRefNb() {
		return clientRefNb;
	}

	public void setClientRefNb(String clientRefNb) {
		this.clientRefNb = clientRefNb;
	}

	public String getOrderPlacer() {
		return orderPlacer;
	}

	public void setOrderPlacer(String orderPlacer) {
		this.orderPlacer = orderPlacer;
	}

	public Date getBookingDate() {
		return bookingDate;
	}

	public void setBookingDate(Date bookingDate) {
		this.bookingDate = bookingDate;
	}

	public Date getExpectedInspDate() {
		return expectedInspDate;
	}

	public void setExpectedInspDate(Date expectedInspDate) {
		this.expectedInspDate = expectedInspDate;
	}

	public Date getActualInspDate() {
		return actualInspDate;
	}

	public void setActualInspDate(Date actualInspDate) {
		this.actualInspDate = actualInspDate;
	}

	public Date getExpectedShipDate() {
		return expectedShipDate;
	}

	public void setExpectedShipDate(Date expectedShipDate) {
		this.expectedShipDate = expectedShipDate;
	}

	public String getSIC() {
		return SIC;
	}

	public void setSIC(String sIC) {
		SIC = sIC;
	}

	public String getServiceType() {
		return serviceType;
	}

	public void setServiceType(String serviceType) {
		this.serviceType = serviceType;
	}

	public String getProdCategoryAI() {
		return prodCategoryAI;
	}

	public void setProdCategoryAI(String prodCategoryAI) {
		this.prodCategoryAI = prodCategoryAI;
	}

	public String getProdFamilyAI() {
		return prodFamilyAI;
	}

	public void setProdFamilyAI(String prodFamilyAI) {
		this.prodFamilyAI = prodFamilyAI;
	}

	public String getProdCategoryClient() {
		return prodCategoryClient;
	}

	public void setProdCategoryClient(String prodCategoryClient) {
		this.prodCategoryClient = prodCategoryClient;
	}

	public String getProdFamilyClient() {
		return prodFamilyClient;
	}

	public void setProdFamilyClient(String prodFamilyClient) {
		this.prodFamilyClient = prodFamilyClient;
	}

	public String getTools() {
		return tools;
	}

	public void setTools(String tools) {
		this.tools = tools;
	}

	public String getProjectLeader() {
		return projectLeader;
	}

	public void setProjectLeader(String projectLeader) {
		this.projectLeader = projectLeader;
	}

	public String getProtoSupervisor() {
		return protoSupervisor;
	}

	public void setProtoSupervisor(String protoSupervisor) {
		this.protoSupervisor = protoSupervisor;
	}

	public String getProtoSupervisor2() {
		return protoSupervisor2;
	}

	public void setProtoSupervisor2(String protoSupervisor2) {
		this.protoSupervisor2 = protoSupervisor2;
	}

	public String getReportApprover() {
		return reportApprover;
	}

	public void setReportApprover(String reportApprover) {
		this.reportApprover = reportApprover;
	}

	public String getITLManager() {
		return ITLManager;
	}

	public void setITLManager(String iTLManager) {
		ITLManager = iTLManager;
	}

	public String getDedicatedInspector() {
		return dedicatedInspector;
	}

	public void setDedicatedInspector(String dedicatedInspector) {
		this.dedicatedInspector = dedicatedInspector;
	}

	public String getBookFromPreOrder() {
		return bookFromPreOrder;
	}

	public void setBookFromPreOrder(String bookFromPreOrder) {
		this.bookFromPreOrder = bookFromPreOrder;
	}

	public String getInspectionRating() {
		return inspectionRating;
	}

	public void setInspectionRating(String inspectionRating) {
		this.inspectionRating = inspectionRating;
	}

	public String getRatingComments() {
		return ratingComments;
	}

	public void setRatingComments(String ratingComments) {
		this.ratingComments = ratingComments;
	}

	public String getICNeeded() {
		return ICNeeded;
	}

	public void setICNeeded(String iCNeeded) {
		ICNeeded = iCNeeded;
	}

	public String getLCNumber() {
		return LCNumber;
	}

	public void setLCNumber(String lCNumber) {
		LCNumber = lCNumber;
	}

	public String getLCAppName() {
		return LCAppName;
	}

	public void setLCAppName(String lCAppName) {
		LCAppName = lCAppName;
	}

	public String getLCAppAddress() {
		return LCAppAddress;
	}

	public void setLCAppAddress(String lCAppAddress) {
		LCAppAddress = lCAppAddress;
	}

	public String getLCBeneName() {
		return LCBeneName;
	}

	public void setLCBeneName(String lCBeneName) {
		LCBeneName = lCBeneName;
	}

	public String getLCBeneAddress() {
		return LCBeneAddress;
	}

	public void setLCBeneAddress(String lCBeneAddress) {
		LCBeneAddress = lCBeneAddress;
	}

	public String getCopyAllMailTo() {
		return copyAllMailTo;
	}

	public void setCopyAllMailTo(String copyAllMailTo) {
		this.copyAllMailTo = copyAllMailTo;
	}

	public String getCopyReportMailTo() {
		return copyReportMailTo;
	}

	public void setCopyReportMailTo(String copyReportMailTo) {
		this.copyReportMailTo = copyReportMailTo;
	}

	public Integer getContainer20() {
		return container20;
	}

	public void setContainer20(Integer container20) {
		this.container20 = container20;
	}

	public Integer getContainer40() {
		return container40;
	}

	public void setContainer40(Integer container40) {
		this.container40 = container40;
	}

	public Integer getContainer40HQ() {
		return container40HQ;
	}

	public void setContainer40HQ(Integer container40hq) {
		container40HQ = container40hq;
	}

	public String getCalledInspector() {
		return calledInspector;
	}

	public void setCalledInspector(String calledInspector) {
		this.calledInspector = calledInspector;
	}

	public String getInsepctorCalledBy() {
		return insepctorCalledBy;
	}

	public void setInsepctorCalledBy(String insepctorCalledBy) {
		this.insepctorCalledBy = insepctorCalledBy;
	}

	public String getInsepctorCallResult() {
		return insepctorCallResult;
	}

	public void setInsepctorCallResult(String insepctorCallResult) {
		this.insepctorCallResult = insepctorCallResult;
	}

	public String getInsepctorCallComments() {
		return insepctorCallComments;
	}

	public void setInsepctorCallComments(String insepctorCallComments) {
		this.insepctorCallComments = insepctorCallComments;
	}

	public String getCalledFactory() {
		return calledFactory;
	}

	public void setCalledFactory(String calledFactory) {
		this.calledFactory = calledFactory;
	}

	public String getFactoryCalledBy() {
		return factoryCalledBy;
	}

	public void setFactoryCalledBy(String factoryCalledBy) {
		this.factoryCalledBy = factoryCalledBy;
	}

	public String getFactoryCallResult() {
		return factoryCallResult;
	}

	public void setFactoryCallResult(String factoryCallResult) {
		this.factoryCallResult = factoryCallResult;
	}

	public String getFactoryCallComments() {
		return factoryCallComments;
	}

	public void setFactoryCallComments(String factoryCallComments) {
		this.factoryCallComments = factoryCallComments;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getParentCompanyId() {
        return parentCompanyId;
    }

    public void setParentCompanyId(String parentCompanyId) {
        this.parentCompanyId = parentCompanyId;
    }

    /**
	 * @return the allInspectors
	 */
	public String getAllInspectors() {
		return allInspectors;
	}

	/**
	 * @param allInspectors
	 *            the allInspectors to set
	 */
	public void setAllInspectors(String allInspectors) {
		this.allInspectors = allInspectors;
	}

	/**
	 * @return
	 */
	public String getAllowChangeInspectionDate() {
		return allowChangeInspectionDate;
	}

	/**
	 * @param allowChangeInspectionDate
	 */
	public void setAllowChangeInspectionDate(String allowChangeInspectionDate) {
		this.allowChangeInspectionDate = allowChangeInspectionDate;
	}

	/**
	 * @return
	 */
	public String getSupplierValidateCode() {
		return supplierValidateCode;
	}

	/**
	 * @param supplierValidateCode
	 */
	public void setSupplierValidateCode(String supplierValidateCode) {
		this.supplierValidateCode = supplierValidateCode;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.ai.inspection.support.ConflictSupport#getKeyName()
	 */
	public String getKeyName() {
		return "ORDER_ID";
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.ai.inspection.support.ConflictSupport#getKeyValue()
	 */
	public String getKeyValue() {
		return this.orderId;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.ai.inspection.support.ConflictSupport#getTable()
	 */
	public String getTable() {
		return "ORDER_GENERAL_INFO";
	}
	
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }


}
